Virtual environments (referred to herein interchangeably as “virtual worlds”) are typically implemented as server software accessible over a network, to which users may connect with suitable client software. Many users can connect simultaneously to interact with one another and with the environment represented by the virtual world. A well-known and currently popular example of such a virtual world is called Second Life, which is hosted by Linden Lab of San Francisco, Calif., further information being available at www.secondlife.com.
It is increasingly common to have events hosted in virtual environments. Examples include music concerts and other entertainment acts which users may “attend” by moving their character or avatar within the virtual environment to a location or venue (just as in the real world). The performance is provided as an audio and/or video feed which is experienced by the user within the virtual environment.
Problems can arise when large numbers of users want to simultaneously attend an event in a virtual environment. This is typically due to the fact that the event is managed by a server and because users at the same event typically draw on the same software and hardware resources. Generalising the problem, large numbers of users accessing the same server resource can cause server overload, and this can result in the server crashing or performance being adversely affected, so that users experience lag and stutter in the representation of and interaction with the virtual environment.
Even where an event is engineered to cater for a sufficient number of users (for example in the tens or hundreds of thousands), problems can arise from a sudden flood of access attempts occurring simultaneously, particularly if the demand is estimated incorrectly and there is a delay in bringing a sufficient number of additional servers online to cope with the demand.